home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Almathera Ten Pack 3: CDPD 3
/
Almathera Ten on Ten - Disc 3: CDPD3.iso
/
ab20
/
ab20_archive
/
utilities
/
printer
/
pf_deskjet.lzh
/
PF
/
READ.ME
< prev
next >
Wrap
Text File
|
1991-09-27
|
7KB
|
130 lines
The program PF (short for PRINTFILES) is an utility written to print
text files on an Hewlett-Packard DeskJet 500 printer connected to the
parallel port of an Amiga personal computer, selecting in the same
time the font and the printing style between the internal options of
this printer.
PF comes in two versions, PF1 and PF2, written for the SAS C-Compiler
v5.10: the printing routines are the same. But PF1 is callable only
from the CLI, and is structured to be easily modified for different
computers (e.g. IBM (argh!) PC's); I did not try, but as I avoided
all the Intuition facilities and computer dependent statements, it
should compile and work with the only change of the output port name
(from PAR: to e.g. LPT1: or maybe PRN:). For maximum portability PF1
writes to the printer fopening a file to PAR: and fwriting there; this
can be not strictly kosher but works (on the Amiga). PF2 instead opens
a device for output, and supports in addition CTRL-C handling and a
Workbench interface, built using the Requester Library from Colin Fox
and Bruce Dawson that can be found e.g. in the Fred Fish collection on
disk 419, and that must be previuosly installed in order to run PF2
(from the Workbench; you can still run PF2 from the CLI without having
Req.Library installed).
The purpose of PF is to send the correct escape sequence that directs
the printer to use an internal font, then to optionally print one or
more files; the printer is reset to the default at the end, UNLESS
when no file names are given: invoking PF this way you can manually
initialise your DeskJet as you like. To initialise the printer from
the Workbench interface, exit from the file requester without
selections. Be careful: the first time that something is written on
PRT:, Amiga sends the initialisation sequence looking at the existing
preferences; to use an internal font not selectable from Preferences,
you should first print something; then use PF; the copy to PRT: the
wanted file(s).
In PF I have foreseen also a "special" printing mode: 2 pages (55
lines and 80 columns each) on the same sheet of paper, in landscape
mode with a small font and a nice border around. This printing mode
is ssllloooowwwwww... so slow that you could see system requesters
asking to check your printer, because a page cannot be printed before
the printer timeout (just ignore these messages, and click RESUME; or
use PF1 that, writing directly on the parallel device, does not have
timeouts).
Usage from the CLI:
Command: PF [switches] [file [file [file ... ] ] ]
Switches: -l : Landscape (default is portrait);
-i : Italic (default is roman);
-bN : insert N Blanks at the beginning of every line;
-aN : expand tAbs every N-th column (default: N=8);
-g : Letter-Gothic font (default is Courier);
-t : Times font (default is Courier);
-s : Small pitch (Courier: 16.67 cpi; Let.Got.: 24cpi);
-x : eXtra-small pitch (20 cpi - for Courier only);
-8 : 8 lpi (default is 6 lpi);
-6 : 6 points high fonts (default is 12 points fonts);
-d : Draft quality (default is letter quality);
-2 : special mode (2 pages every side).
The switches can be specified one by one: e.g. -g -8 -s if you need
Letter-Gothic font, spaced at 8 lines per inch and with 24 characters
per inch horizontally; or together, e.g. -g8s for the same layout.
Only the -bN and the -aN switches must be specified alone, or
specified as the last ones in a group of switches (e.g. you can write
-g8s -b10; OR -g8sb10; but NOT -b10g8s).
The switches can be either lower or uppercase; the default for tab
expansion is every 8th column (i.e. at columns 9, 17, ...) and can be
changed using the -aN option.
If the input stream contains a non-printable character, it will not be
sent to the printer: for "non-printable", here I essentially mean the
"control" characters, having ASCII codes from 00 to 037 (octal), plus
DEL (0177 octal); the characters corresponding to codes above 0177 are
strictly implementation-dependent (and usually printables), and what I
needed was to avoid escape sequences embedded in the text to interfere
with the printer setting.
The -s, -x, -l and -i switches are ignored when the request is not
compatible with the selected font; the "normal" pitch is 10 cpi for
Courier, and 12 cpi for Letter-Gothic (Times is a proportional font).
All the switches different from -d and -aN will be ignored if the
option -2 is selected.
The program (PF2 only) can be interrupted with a CTRL-C; however, to
flush the DeskJet internal buffer, you should switch it off then on
again. Please - take care to switch on your printer before invoking
PF; I check the parallel device properly, but if the printer is
connected to the serial port I cannot detect its status.
Giving PF with invalid switches (or PF without any argument) a short
help screen will be printed on stdout.
This program can be freely distributed and modified, provided that no
money is charged for it; and that the original header is left at the
beginning with my name and address. If someone will improve PF, I
would like to hear about his/her modifications: please, send me your
changes!
In this same directory you will find a "quick & dirty" program named
MAX: invoking MAX <FileName> from the CLI will print on stdout some
information about <FileName>: number of lines, length of the longest
line, non-printable characters in the file (if any); that could help
you in choosing the right parameters for PF.
Author: Maurizio Loreti, aka MLO or I3NOO.
Address: University of Padova - Department of Physics
Via F. Marzolo, 8 - 35131 PADOVA - Italy
Phone: (39)(49) 844-313 FAX: (39)(49) 844-245
E-Mail: LORETI at IPDINFN (BITNET), or VAXFPD::LORETI
(DECnet). VAXFPD is DECnet node 38.257 or 39169;
INTERNET: LORETI@PADOVA.INFN.IT . All these
addresses refer to the same computer, a VAX
8600 owned from the Italian Agency for Research
in High Energy Physics (I.N.F.N.).
Home: Via G. Donizetti 6 - 35010 CADONEGHE (PD) - Italy
Home setup: Amiga 500, A501, A590 20MB Hard Disk, 3 MB total memory;
of course an Hewlett-Packard Deskjet 500.
Work setup: Amiga 3000 16 MHz, 50 MB Hard Disk, 6 MB total memory;
and another Hewlett-Packard Deskjet 500.
Software: CygnusEd Professional, SAS-C 5.10, FlexeLint for the Amiga.
Have Fun!
MLO